//
//  P1048.cpp
//  Algorithm
//
//  Created by 刘锦程 on 2023/9/16.
//

#include <stdio.h>
#include<iostream>
using namespace std;
int T,M;
int t[103],v[1003];
int dp[1003];
int P1048ans(){
    cin>>T>>M;
    for(int i=1;i<=M;i++){
        cin>>t[i]>>v[i];
    }
    for(int i=1;i<=M;i++){
        for(int j=T;j>=t[i];j--){
            dp[j]=max(dp[j],dp[j-t[i]]+v[i]);
        }
    }
    cout<<dp[T]<<endl;
    return 0;
}
